/*
* Copyright (C) 2020 ~ 2024 chaigec All Rights Reserved.
*
* Author:     chaigec <chaigec@163.com>
* Maintainer: chaigec <chaigec@163.com>

 * Use of this source code is governed by MIT license that can be found in the
 * LICENSE file in the root of the source tree. All contributing project authors
 * may be found in the AUTHORS file in the root of the source tree.
*/

#ifndef MK_HTTP_MEDIA_UT_H
#define MK_HTTP_MEDIA_UT_H
#include "MkUtil/MkLock.h"
#include "MkMedia/MkMediaUtil.h"
#include <gtest/gtest.h>

class CMkTimer;
class CMkEventPool;
class CMkHttpMediaServer;
class CMkWsFlvPlayer;
class CMkTimerPool;
class CMkMediaConsume;
class CMkH264FileSource;
class CMkH265FileSource;
class CMkAacFileSource;
class CMkHttpClient;
class CMkHttpMediaUt : public testing::Test
{
public:
    void SetUp() override;
    void TearDown() override;

public:
    CMkTimer*           m_pTimer;
    CMkEventPool*       m_pEventPool;
    CMkTimerPool*       m_pTimerPool;
    CMkHttpMediaServer* m_pHttpMediaServer;
    Uint16              m_HttpMediaPort;
    void*           m_WaitHandle;
    CMkMediaConsume* m_pMediaConsume;

    CMkH264FileSource* m_pH264FileSource;
    CMkH265FileSource* m_pH265FileSource;
    CMkAacFileSource*  m_pAacFileSource;
    MkVector<MkEsPacket> m_VecPacket264;
    MkVector<MkEsPacket> m_VecPacket265;
    MkVector<MkEsPacket> m_VecPacketAac;

    CMkWsFlvPlayer*     m_pWsPlayer;
    CMkHttpClient*      m_pClient;
    CMkLock             m_ClienkLock;
    BOOL                m_bClientConnected;
};


#endif